package com.atlige.common.exception;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;

/**
 * 1、错误码定义规则为5位数字
 * 2、前俩位代表业务场景，后三位代表错误码，10001：10通用，001系统未知错误
 * 3、维护错误码后需要维护错误描述，将他们定义为枚举类
 * 错误码列表：
 *   10：通用
 *      001：参数格式错误
 *      002：短信验证码发送太频繁
 *   11：商品
 *   12：订单
 *   13：购物车
 *   14：物流
 *   15: 用户
 *   21: 库存
 *
 * @author Jeremy Li
 * @data 2021/3/19 - 23:39
 */
@Getter
@AllArgsConstructor
public enum GzmallCodeEnum {
    UNKNOW_EXCEPTION(10000, "系统未知异常"),
    VALID_EXCEPTION(10001, "参数格式校验失败"),
    SMS_CODE_EXCEPTION(10002, "短信验证码发送太频繁, 请稍后再试！"),
    PRODUCT_UP_EXCEPTION(11000, "商品上架异常"),
    USER_EXIST_EXCEPTION(15001, "用户存在异常"),
    PHONE_EXIST_EXCEPTION(15002, "手机号存在异常"),
    LOGINACCT_PASSWORD_INVALID_EXCEPTION(15003, "账号密码错误"),
    NO_STOCK_EXCEPTION(21000, "库存不足");

    // 状态码
    private Integer code;
    // 提示消息
    private String message;

}
